const mongoose=require('../db/mongodb.js');

// 对网站配置表的操作
const websiteBasiInfo=mongoose.Schema({
    keyword:{
        type:String,//定义类型
        required:[true,'网站关键字信息不能为空'],//定义验证规则，这个字段不能为空，必填
        minLength:[5,'网站关键字信息的最小长度为5个字符'],//最小长度
        maxLength:[100,'网站关键字信息的最大长度为100个字符'],//最大长度
        trim:true ,//去除字符串两边的空格
    },
    hotLineOne:{
        type:String,//定义类型
        required:[true,'电话号码不能为空'],//定义验证规则，这个字段不能为空，必填
        minLength:[11,'电话号码长度必须为11个字符'],//最小长度
        maxLength:[11,'电话号码长度必须为11个字符'],//最大长度
        trim:true ,//去除字符串两边的空格
    },
    hotLineTwo:{
        type:String,//定义类型
        required:[true,'电话号码不能为空'],//定义验证规则，这个字段不能为空，必填
        minLength:[11,'电话号码长度必须为11个字符'],//最小长度
        maxLength:[11,'电话号码长度必须为11个字符'],//最大长度
        trim:true ,//去除字符串两边的空格
    },
    email:{
        type:String,//定义类型
        required:[true,'网站邮箱信息不能为空'],//定义验证规则，这个字段不能为空，必填

        minLength:[5,'网站邮箱信息的最小长度为5个字符'],//最小长度
        maxLength:[100,'网站邮箱信息的最大长度为100个字符'],//最大长度
        validate:{
            validator:v=> {
                //v是要验证的值  返回布尔值
                return /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/.test(v);
            },
            message:'输入的邮箱不符合验证规则! 邮箱地址必须为xxxx@xx.xx 形式'
        },
        trim:true ,//去除字符串两边的空格
    },
    copyright:{
        type:String,//定义类型
        required:[true,'网站版权所有信息不能为空'],//定义验证规则，这个字段不能为空，必填
        minLength:[10,'网站版权所有的最小长度为10个字符'],//最小长度
        maxLength:[100,'网站版权所有的最大长度为100个字符'],//最大长度
        trim:true ,//去除字符串两边的空格
    },
    beianhao:{
        type:String,//定义类型
        required:[true,'网站备案号不能为空'],//定义验证规则，这个字段不能为空，必填
        minLength:[10,'网站备案号的最小长度为5个字符'],//最小长度
        maxLength:[50,'网站备案号的最大长度为50个字符'],//最大长度
        trim:true ,//去除字符串两边的空格
    },
    banner:String,
    logo:String,
});
/* mongoose.model第一个参数是表名，第二个参数是为目标的字段的描述对象。返回值就是我们的数据表，一般我们把返回的数据表也叫做 数据模型model。通过这个模型就可以代表数据库里面的对应的数据表做操作 */
const hfModel=mongoose.model('baseInfo',websiteBasiInfo);
hfModel.fields={
    keyword: '网站关键字',
    hotLineOne:'热线1',
    hotLineTwo:'热线2',
    email:'邮箱',
    copyright:'版权所有信息',
    beianhao:'备案号',
    banner:'轮播图',
    logo:'logo图片',
}
module.exports=hfModel;